package com.gcit.seniorWish.web.modular.system.service;

import com.baomidou.mybatisplus.service.IService;
import com.gcit.seniorWish.core.node.ZTreeNode;
import com.gcit.seniorWish.web.common.persistence.model.Role;

import java.util.List;

/**
 * 角色相关业务
 *
 * @author fengshuonan
 * @Date 2017年1月10日 下午9:11:57
 */
public interface IRoleService extends IService<Role> {

    /**
     * 设置某个角色的权限
     *
     * @param roleId 角色id
     * @param ids    权限的id
     * @date 2017年2月13日 下午8:26:53
     */
    void setAuthority(String roleId, String ids);

    /**
     * 删除角色
     *
     * @author stylefeng
     * @Date 2017/5/5 22:24
     */
    void delRoleById(String roleId);

    /**
    * 根据用户id查询角色列表，当前已经分配的角色选中
    * @param userId 用户id
    * @author gaozhichang
    * @date 2018-03-14 上午 9:50
    */
	List<ZTreeNode> listRoleTreeNodeByUserId(String userId);

	/**
	* 查询角色列表（返回ztreeNode格式）
	* @author gaozhichang
	* @date 2018-03-14 上午 9:50
	*/
	List<ZTreeNode> listRoleTreeNode();

	/**
	* 根据用户id查询当前用户拥有的角色id列表
	* @param userId 用户id
	* @author gaozhichang
	* @date 2018-03-14 上午 9:51
	*/
	List<String> listRoleId(String userId);
}
